package DP;

import org.junit.Test;

import java.util.Arrays;

/**
 * @Classname 无矛盾的最佳球队1626
 * @Description TODO
 * @Date 2023/3/22 10:18
 * @Created by xjl
 */
public class 无矛盾的最佳球队1626 {

    public int bestTeamScore(int[] scores, int[] ages) {
        int n = scores.length;
        int[][] people = new int[n][2];
        for (int i = 0; i < n; ++i) {
            people[i] = new int[]{scores[i], ages[i]};
        }
        Arrays.sort(people, (a, b) -> a[0] != b[0] ? a[0] - b[0] : a[1] - b[1]);
        int[] dp = new int[n];
        int res = 0;
        for (int i = 0; i < n; ++i) {
            for (int j = i - 1; j >= 0; --j) {
                // 表示的年龄前面的大于后面
                if (people[j][1] <= people[i][1]) {
                    dp[i] = Math.max(dp[i], dp[j]);
                }
            }
            dp[i] += people[i][0];
            res = Math.max(res, dp[i]);
        }
        return res;
    }

    @Test
    public void test(){
        bestTeamScore(new int[]{4,5,6,5},new int[]{2,1,2,1});
    }
}
